Un campo con un valore di NULL è un campo senza valore.
Se un campo in una tabella è facoltativo, puoi inserire un nuovo record o aggiornare un record senza aggiungere un valore a quel campo. Quindi il campo verrà salvato con il valore NULL.
Il valore di NULL non può essere controllato utilizzando operatori di confronto come =, < o <>.
Dovremo invece utilizzare gli operatori IS NULL e IS NOT NULL.
SELECT column_names
FROM table_name
WHERE column_name IS NULL
SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL
Quello che segue è un esempio della tabella "Customers" ("Clienti") del database "Northwind":
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 5021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 5023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
L'operatore IS NULL viene utilizzato per verificare i valori null (valori NULL).
La seguente query SQL elenca tutti i clienti con un valore di NULL nel campo "Address":
Run SQLSELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NULL
L'operatore IS NOT NULL viene utilizzato per verificare la presenza di valori non vuoti (NOT NULL valori).
La seguente query SQL elenca tutti i clienti con un valore nel campo "Address":
Run SQLSELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NOT NULL